# -*- coding:utf-8 -*-

'''生成随机验证码图片'''

from PIL import Image, ImageDraw, ImageFont, ImageFilter
import random

# 随机背景颜色
def rndBgColor():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 随机字体颜色
def rndTextColor():
     return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 随机字母
def rndLetter():
    return chr(random.randint(65, 90))

# 绘制并生成图片
def drawCode():
    print('开始生成')
    
    width = 60 * 4
    height = 60
    # 创建图片
    image = Image.new('RGB', (width, height), (255, 255, 255))  # 或者直接'white'
    # 创建绘制工具
    draw = ImageDraw.Draw(image)
    # 绘制图片背景（绘制每个点）
    for x in range(width):
        for y in range(height):
            draw.point((x, y), fill=rndBgColor())
        
    # 创建文字字体
    font = ImageFont.truetype('image/Arial.ttf', 40)
    # 绘制验证码
    for i in range(4):
        draw.text((60 * i + 10, 10), rndLetter(), rndTextColor(), font)
        
    # 对图片进行一下模糊并保存
    image.filter(ImageFilter.BLUR).save('image/code.jpg', 'jpeg')
    
    print('生成完成')

# 这里判断的目的是，被import导入时，不运行
if __name__ == '__main__':
    drawCode()
    
